How to add a new service to Systemd
Say we have a new service gotify-reader
that we want to run on systemd. The steps to do so are the following:
1. Create a /etc/systemd/system/gotify-reader.service
file with contents like the following:
[Unit]
Description=Start gotify-reader
[Service]
ExecStart=/usr/bin/start-gotify-reader
[Install]
# WantedBy=
# ^ service/runlevel which needs this
This gives the minimal information that systemd needs to create the service: name (Description), how to operate it (ExecStart) and if it's needed for another one to work (WantedBy).
The exec script can be as simple as calling another script with certain parameters, there's no special control needed for basic services.
2. Reload Systemd files systemctl daemon-reload
. This makes Systemd aware of the new configuration.
Done! Service can be now operated with systemctl
.
systemctl start gotify-reader # Starts service
systemctl restart gotify-reader # Restarts service
systemctl stop gotify-reader # Stops service
# Enable automatically launching the service if another depends on it
systemclt enable gotify-reader